package com.yourenbang.lingyun.transaction.web.domain.po.klks;

import com.alibaba.fastjson.annotation.JSONField;
import com.yourenbang.lingyun.core.util.json.ToJSON;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 押金信息表
 */
@Data
public class PledgeCash implements Serializable, ToJSON {

    /** 状态 0、未缴纳 */
    public static final Integer STATUS_NO_0 = 0;
    /** 状态 1、已缴纳 */
    public static final Integer STATUS_SUCC_1 = 1;
    /** 状态 2、已退还（领取） */
    public static final Integer STATUS_RETURNED_2 = 2;
    /** 状态 3、已达标 */
    public static final Integer STATUS_REACH_3 = 3;
    /** 状态 4、已作废 */
    public static final Integer STATUS_FAILURE_4 = 4;
    /** 状态 10、退款中 */
    public static final Integer STATUS_REFUND_ING_10 = 10;
    /** 状态 11、已退款 */
    public static final Integer STATUS_REFUNDED_11 = 11;

    private String id;
    
    private String userId;

    private BigDecimal amount;          //缴纳押金金额

    private BigDecimal relieveAmount;   //解除押金金额

    private Integer status;               //状态

    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;

    private String channelId;           //渠道编号

    private String orderNo;             //我方订单号

    private String serialNo;            //微信流水号

    private String payType;             //支付方式
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime activeTime;

    private String productType;         //产品类型

    private Integer version;

    private String payChannel;          //支付通道

}